<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>添加删除记录（优化-课程方法）</title>
    <style>
        *{
            margin: 5px auto;
            padding: 0px;
            text-align: center;
            
        }
        table{
            border: 1px solid  rgb(0, 0, 0);
            background-color: rgb(206, 255, 239);
        }
        th{
            font-weight: bolder;
        }
        td{
            border: 1px solid rgb(0, 0, 0);
            width: 100px;
            font-size: 17px;
        }
    </style>
</head>
<body>

    <table id="employeeTable">
        <tr>
            <th>Name</th>
            <th>Email</th>
            <th>Salary</th>
            <th>&nbsp;</th>
        </tr>
        <tr>
            <td>Tom</td>
            <td>tom@tom.com</td>
            <td>5000</td>
            <td><a href="deleteEmp?id=001">Delete</a></td>
        </tr>
        <tr>
            <td>Jerry</td>
            <td>Jerry@sohu.com</td>
            <td>8000</td>
            <td><a href="deleteEmp?id=002">Delete</a></td>
        </tr>
        <tr>
            <td>Bob</td>
            <td>bob@tom.com</td>
            <td>10000</td>
            <td><a href="deleteEmp?id=003">Delete</a></td>
        </tr>
    </table>

    <div id="formDiv">
        <h4>添加新员工</h4>
        <table>
            <tr>
                <td class="word">name: </td>
                <td class="inp">
                    <input type="text" name="empName" id="empName">
                </td>
            </tr>
            <tr>
                <td class="word">email: </td>
                <td class="inp">
                    <input type="text" name="email" id="email">
                </td>
            </tr>
            <tr>
                <td class="word">salary: </td>
                <td class="inp">
                    <input type="text" name="salary" id="salary">
                </td>
            </tr>
            <tr>
                <td colspan="2">
                    <button id="addEmpButton">
                        Submit
                    </button>
                </td>
            </tr>
        </table>
    </div>

</body>
</html>
<script>
    //   ⭐⭐⭐ 课程优化
    //                  💥💥 删除

    /*
        删除 tr 的单击响应函数 封装到函数中，放到全局
    */
    function delA(){
        // 点击超链接以后，需要删除超链接所在的那一行
            // 这里我们点击那个超链接this就是谁 

            // 获取当前的 tr 
            var tr = this.parentNode.parentNode;

            // 获取要删除的员工的名字   ⭐⭐
            // var name = tr.getElementsByTagName("td")[0].innerHTML
            // var name = tr.children[0].innerHTML
            
            // 删除之前弹出一个提示框，判断是否确认删除
            var flag = confirm("是否确认删除"+tr.children[0].innerHTML+"?");

            if(flag){
                tr.parentNode.removeChild(tr);
            }
            
            /*
                点击超链接后，超链接会跳转页面，这是超链接的默认行为
                    但时此时我们不希望出现默认行为，可以通过在响应函数的最后 return false来取消默认行为
            */

            return false;
    }
    // 获取所有的超链接
        var allA = document.getElementsByTagName("a");

    // 为每个超链接都绑定一个单击响应函数
    for(var i=0;i<allA.length;i++){
        allA[i].onclick = delA;
    }
    
    //                  💥💥 添加
    // 获取 id 为 addEmpButton 的元素
    var addEmpButton = document.getElementById("addEmpButton");

    // 为 addEmpButton 添加单击绑定事件
    addEmpButton.onclick = function(){

        // 获取员工填写信息
        var name = document.getElementById("empName").value;
        var email = document.getElementById("email").value;
        var salary = document.getElementById("salary").value;

        // 创建一个 tr 元素标签
        var tr = document.createElement("tr");

        
        // 创建一个存储员工信息的节点
        tr.innerHTML="<td>"+name+"</td>"
        +"<td>"+email+"</td>"
        +"<td>"+salary+"</td>"
        +"<td><a href='JavaScript'>Delete</a></td>";

        /*
            因为 a 标签是通过 innerHTML 加进来的，
                所以需要先获取 a 标签，再为其绑定单击响应函数
        */
        // 获取 tr 下的 a 标签
        var a = tr.getElementsByTagName("a")[0];
        /*
            因为 tr 是后加进来的，所以并没有绑定单击响应事件函数，
                此时给新添加的 a 添加新的单击响应事件
        */
        a.onclick=delA;

        // 获取 table， 并获取 table 内的 tbody
        var employeeTable = document.getElementById("employeeTable");

        // 获取 tbody 并将 tr 添加到 tbody 中
        var tbody = employeeTable.getElementsByTagName("tbody")[0];

        tbody.appendChild(tr);

    };
    
</script>